package schema

import (
	"errors"
)

// SystemParameter 系统参数管理
type SystemParameter struct {
	ID       int64  `json:"id" bson:"_id" structs:"id"`                     // 唯一标识(自增ID)
	RecordID string `json:"record_id" bson:"record_id" structs:"record_id"` // 记录内码(uuid)
	Code     string `json:"code" bson:"code" structs:"code"`                // 编号
	Name     string `json:"name" bson:"name" structs:"name"`                // 名称
	Memo     string `json:"memo" bson:"memo" structs:"memo"`                // 备注
	Value    string `json:"value" bson:"value" structs:"value"`             // 参数值
	Status   int    `json:"status" bson:"status" structs:"status"`          // 状态(1:启用 2:停用)
	Creator  string `json:"creator" bson:"creator" structs:"creator"`       // 创建人
	Created  int64  `json:"created" bson:"created" structs:"created"`       // 创建时间戳
	Deleted  int64  `json:"deleted" bson:"deleted" structs:"deleted"`       // 删除时间戳
}

// Validate 验证参数
func (a *SystemParameter) Validate() error {
	if a.Code == "" || a.Name == "" {
		return errors.New("无效的请求参数")
	}
	return nil
}

// SystemParameterQueryParam 系统参数查询参数
type SystemParameterQueryParam struct {
	Code   string // 编号
	Name   string // 名称
	Status int    // 状态(1:启用 2:停用)
}

// SystemParameterQueryResult 系统参数查询结果
type SystemParameterQueryResult struct {
	ID       int64  `json:"id" bson:"_id" structs:"id"`                     // 唯一标识(自增ID)
	RecordID string `json:"record_id" bson:"record_id" structs:"record_id"` // 记录内码(uuid)
	Code     string `json:"code" bson:"code" structs:"code"`                // 编号
	Name     string `json:"name" bson:"name" structs:"name"`                // 名称
	Memo     string `json:"memo" bson:"memo" structs:"memo"`                // 备注
	Value    string `json:"value" bson:"value" structs:"value"`             // 参数值
	Status   int    `json:"status" bson:"status" structs:"status"`          // 状态(1:启用 2:停用)
}
